﻿using PCBase.UIControls;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace VisionCore
{
    public class PRM_ExcST_Sys
    {
        [DisplayName("载入点"), Browsable(true), ReadOnly(true)]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public ST_Point Load { get; set; } = new ST_Point();

        [DisplayName("倒膜点"), Browsable(true), ReadOnly(true)]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public ST_Point Exchange { get; set; } = new ST_Point();

        [DisplayName("对位点"), Browsable(true), ReadOnly(true)]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public ST_Point Alignment { get; set; } = new ST_Point();

        public override string ToString()
        {
            return "...";
        }

        public class ST_Point
        {
            public double Y { get; set; }
            public double R { get; set; }

            public ST_Point()
            {
                Y = 0;
                R = 0;
            }

            public override string ToString()
            {
                return "...";
            }
        }
    }

    public class PRM_ExcST_Rec
    {
        [DisplayName("读码点"), Browsable(true), ReadOnly(true)]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public ST_Point CodeRead { get; set; } = new ST_Point();

        [DisplayName("倒膜检测点"), Browsable(true), ReadOnly(true)]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public ST_Point ExcInsp { get; set; } = new ST_Point();

        public override string ToString()
        {
            return "...";
        }

        public class ST_Point
        {
            public double Y { get; set; }
            public double R { get; set; }

            public ST_Point()
            {
                Y = 0;
                R = 0;
            }

            public override string ToString()
            {
                return "...";
            }
        }
    }

    public class PRM_Exc_CCD_Rec
    {
        [DisplayName("读码点"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double CodeRead { get; set; } = 0;

        [DisplayName("倒膜检测点"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double ExcInsp { get; set; } = 0;

        public override string ToString()
        {
            return "...";
        }
    }

    public class PRM_CVCH_SW_Y
    {
        [DisplayName("Port1位"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double LDPt1 { get; set; } = 0;
        [DisplayName("Port2位"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double LDPt2 { get; set; } = 0;
        [DisplayName("1号出料点"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double Insp1 { get; set; } = 0;
        [DisplayName("2号出料点"), Browsable(true), ReadOnly(true)]
        [TypeConverter(typeof(PropertiesExpandConverter))]
        public double Insp2 { get; set; } = 0;
        //[DisplayName("等待位"), Browsable(true), ReadOnly(true)]
        ////[TypeConverter(typeof(PropertiesExpandConverter))]
        //public double Wait { get; set; } = 0;
        [DisplayName("尺寸切换"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double Entry1_Y { get; set; } = 0;
        public override string ToString()
        {
            return "...";
        }
    }

    public class PRM_LDCV_Y
    {
        [DisplayName("待命点"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double Wait { get; set; } = 0;
        [DisplayName("工作位"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double Work { get; set; } = 0;
       
        public override string ToString()
        {
            return "...";
        }
    }

    public class PRM_InspCV_Y
    {
        [DisplayName("待命点"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double Wait { get; set; } = 0;
        [DisplayName("工作位"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double Work { get; set; } = 0;

        public override string ToString()
        {
            return "...";
        }
    }

    public class PRM_Insp_Y_RM
    {
        [DisplayName("待命点"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double Wait { get; set; } = 0;
        [DisplayName("工作位"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double Work { get; set; } = 0;
        [DisplayName("压力值(N)"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double Pressure { get; set; } = 50;

        public override string ToString()
        {
            return "...";
        }
    }
    public class PRM_CCDModule
    {
        [DisplayName("CH1_Mark位"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_CCD CH1_Mark { get; set; }=new PRM_CCD();
        [DisplayName("CH1_检测位"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_CCD CH1_Insp { get; set; } = new PRM_CCD();
        [DisplayName("CH2_Mark位"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_CCD CH2_Mark { get; set; } = new PRM_CCD();
        [DisplayName("CH2_检测位"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_CCD CH2_Insp { get; set; } = new PRM_CCD();
        [DisplayName("待命位"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public PRM_CCD Wait { get; set; } = new PRM_CCD();
        public override string ToString()
        {
            return "...";
        }
    }
    public class PRM_CCD
    {
        [DisplayName("CCD_X"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double CCD_X { get; set; } = 0;
        [DisplayName("CCD_Y"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double CCD_Y { get; set; } = 0;
        [DisplayName("CCD_Z"), Browsable(true), ReadOnly(true)]
        //[TypeConverter(typeof(PropertiesExpandConverter))]
        public double CCD_Z { get; set; } = 0;

    }

}
